from datetime import datetime

import semanticscholar.Journal
import semanticscholar.PublicationVenue
import semanticscholar.Tldr
from _typeshed import Incomplete
from semanticscholar.Author import Author
from semanticscholar.SemanticScholarObject import (
    SemanticScholarObject as SemanticScholarObject,
)

class Paper(SemanticScholarObject):
    FIELDS: Incomplete
    SEARCH_FIELDS: Incomplete
    def __init__(self, data) -> None: ...
    @property
    def abstract(self) -> str: ...
    @property
    def authors(self) -> list[Author]: ...
    @property
    def citationCount(self) -> int: ...
    @property
    def citationStyles(self) -> dict: ...
    @property
    def citations(self) -> list[Paper]: ...
    @property
    def corpusId(self) -> str: ...
    @property
    def embedding(self) -> dict: ...
    @property
    def externalIds(self) -> dict: ...
    @property
    def fieldsOfStudy(self) -> list: ...
    @property
    def influentialCitationCount(self) -> int: ...
    @property
    def isOpenAccess(self) -> bool: ...
    @property
    def journal(self) -> semanticscholar.Journal.Journal: ...
    @property
    def openAccessPdf(self) -> dict: ...
    @property
    def paperId(self) -> str: ...
    @property
    def publicationDate(self) -> datetime: ...
    @property
    def publicationTypes(self) -> list: ...
    @property
    def publicationVenue(self) -> semanticscholar.PublicationVenue.PublicationVenue: ...
    @property
    def referenceCount(self) -> int: ...
    @property
    def references(self) -> list[Paper]: ...
    @property
    def s2FieldsOfStudy(self) -> list: ...
    @property
    def title(self) -> str: ...
    @property
    def tldr(self) -> semanticscholar.Tldr.Tldr: ...
    @property
    def url(self) -> str: ...
    @property
    def venue(self) -> str: ...
    @property
    def year(self) -> int: ...
